Warning mode, diagnostic collector, BuilderProblem enrichments - #12698
Draft
gnodet wants to merge 1 commit into
Draft
Warning mode, diagnostic collector, BuilderProblem enrichments#12698gnodet wants to merge 1 commit into
gnodet wants to merge 1 commit into
Conversation
This was referenced Aug 7, 2026
gnodet
force-pushed
the
feature/console-modes
branch
from
August 8, 2026 01:23
b0617f7 to
1a419b7
Compare
gnodet
force-pushed
the
feature/warning-mode
branch
from
August 8, 2026 01:23
0cc76eb to
6124231
Compare
gnodet
added a commit
that referenced
this pull request
Aug 8, 2026
Add the mvnlog tool for viewing and analyzing build-report JSON files. Includes BuildReportRenderer for human-readable output, SimpleJsonReader for dependency-free JSON parsing, shell scripts (mvnlog/mvnlog.cmd), and --log routing in mvn/mvn.cmd. Also adds integration tests for build report generation, console modes, and the mvnlog viewer, plus --console=verbose flags for ITs that depend on verbose output. Part 5 of the #12572 split (depends on warning mode PR #12698). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This was referenced Aug 8, 2026
Add --warning-mode CLI flag (summary/all/none/fail) for controlling how build warnings are displayed. Enrich BuilderProblem with key, suggestion, documentationUrl, INFO severity, and a builder API. Add DiagnosticReporter service and DefaultDiagnosticCollector for deduplication across parallel module builds. Part 4 of the #12572 split (depends on console modes PR #12697). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
gnodet
added a commit
that referenced
this pull request
Aug 8, 2026
Add the mvnlog tool for viewing and analyzing build-report JSON files. Includes BuildReportRenderer for human-readable output, SimpleJsonReader for dependency-free JSON parsing, shell scripts (mvnlog/mvnlog.cmd), and --log routing in mvn/mvn.cmd. Also adds integration tests for build report generation, console modes, and the mvnlog viewer, plus --console=verbose flags for ITs that depend on verbose output. Part 5 of the #12572 split (depends on warning mode PR #12698). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
gnodet
force-pushed
the
feature/warning-mode
branch
from
August 8, 2026 05:35
6124231 to
dc3bccd
Compare
gnodet
force-pushed
the
feature/console-modes
branch
from
August 8, 2026 05:35
1a419b7 to
1e4c616
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Part 4 of the logging feature chain. Depends on #12697 (console modes).
Adds
--warning-modeCLI flag and structured diagnostic infrastructure:--warning-mode=summary(default) — deduplicated warning summary at end of build--warning-mode=all— inline warnings + summary--warning-mode=none— suppress diagnostic summary--warning-mode=fail— treat warnings as build errorsBuilderProblem API enrichments
getKey()— stable deduplication key for cross-module dedupgetSuggestion()— actionable fix suggestiongetDocumentationUrl()— link to relevant docsINFOseverity level added toSeverityenumBuilderProblem.builder()— fluent builder API withDefaultProblemrecordNew service API
DiagnosticReporter—@Inject-able service for plugins to report structured problemsInternal infrastructure
DefaultDiagnosticCollector— thread-safe, deduplicating problem store with suppression supportDefaultDiagnosticReporter/DefaultDiagnosticSummary— wiringBuildReportCollectorupgraded to useDefaultDiagnosticCollector, auto-collect WARN log events, print summaryFiles changed (16 files, ~1600 insertions)
BuilderProblemenrichments,DiagnosticReporter,Options(+warningMode())CommonsCliOptions,LayeredOptions,MavenInvokerBuildReportCollector(full diagnostic integration),BuildReportJsonWriter(problem enrichments)DefaultDiagnosticCollector,DefaultDiagnosticReporter,DefaultDiagnosticSummaryDefaultBuilderProblem(key/suggestion/url fields)DefaultDiagnosticCollectorTest)PR chain
mvnlogviewerTest plan
mvn test -pl impl/maven-core— all tests passmvn test -pl impl/maven-cli— all 692+ tests pass🤖 Generated with Claude Code